package pms.om;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
 * @author roman.zaglauer@googlemail.com
 */


@Entity
@Table(name="tbl_personhatnoten")
public class PersonHatNoten {

	@Id
	@GeneratedValue
	@Column(name="pk_noten")
	private int id;
	private Date ausleihdatum;
	private Date rueckgabedatum;
	
	@ManyToOne
	@JoinColumn(name = "fk_noten", nullable = false)
	private Noten noten;
	
	@ManyToOne
	@JoinColumn(name = "fk_person", nullable = false)
	private Person person;

	
	
	/** Constructor
	 * 
	 */
	public PersonHatNoten() {
		super();
	}

	/**
	 * @param ausleihdatum
	 * @param rueckgabedatum
	 * @param noten
	 * @param person
	 */
	public PersonHatNoten(Date ausleihdatum, Date rueckgabedatum,
			Noten noten, Person person) {
		super();
		this.ausleihdatum = ausleihdatum;
		this.rueckgabedatum = rueckgabedatum;
		this.noten = noten;
		this.person = person;
	}

	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * @return the ausleihdatum
	 */
	public Date getAusleihdatum() {
		return ausleihdatum;
	}

	/**
	 * @param ausleihdatum the ausleihdatum to set
	 */
	public void setAusleihdatum(Date ausleihdatum) {
		this.ausleihdatum = ausleihdatum;
	}

	/**
	 * @return the ruckgabedatum
	 */
	public Date getRueckgabedatum() {
		return rueckgabedatum;
	}

	/**
	 * @param rueckgabedatum the rueckgabedatum to set
	 */
	public void setRuckgabedatum(Date rueckgabedatum) {
		this.rueckgabedatum = rueckgabedatum;
	}

	/**
	 * @return the noten
	 */
	public Noten getNoten() {
		return noten;
	}

	/**
	 * @param noten the noten to set
	 */
	public void setNoten(Noten noten) {
		this.noten = noten;
	}

	/**
	 * @return the person
	 */
	public Person getPerson() {
		return person;
	}

	/**
	 * @param person the person to set
	 */
	public void setPerson(Person person) {
		this.person = person;
	}
	
	
	
}
